package ventanas;


import gestores.SistemaEmpresas;
import gestores.SistemaUsuarios;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.sql.SQLException;
import java.util.Vector;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.table.DefaultTableModel;

import utilidades.MP3;
import utilidades.MiRender;

import com.jgoodies.forms.factories.FormFactory;
import com.jgoodies.forms.layout.ColumnSpec;
import com.jgoodies.forms.layout.FormLayout;
import com.jgoodies.forms.layout.RowSpec;

import clasesBasicas.Empresa;
import clasesBasicas.Global;
import clasesBasicas.Usuario;

public class PanelRanking extends JPanel{
	
	private JTable tabla;
	
	public PanelRanking()
	{	
		String[][] datos = null;
		try {
			datos = Global.sU.obtenerUsuariosRanking();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		if(datos!=null)
		{
		String [] columnas={"Posición","Nickname","Puntuación"};
		Vector<Empresa>vEmpresas=Global.sisEmp.getLista();
		datos[0][0]="Posición";
		datos[0][1]="Nickname";
		datos[0][2]="Puntuación";
		
		setLayout(new FormLayout(new ColumnSpec[] {
				FormFactory.GROWING_BUTTON_COLSPEC,},
				new RowSpec[] {
				FormFactory.LINE_GAP_ROWSPEC,
				RowSpec.decode("fill:576px:grow"),}));
		
		tabla=new JTable(datos,columnas);
		tabla.setGridColor(new Color(0, 0, 0));
		tabla.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
		tabla.setPreferredSize(new Dimension(450, 450));
		tabla.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
		tabla.setFont(new Font("Tahoma", Font.PLAIN, 16));
		
		String [] str= { "Nombre", " Valor", "Maximo", "Minimo", "Volumen", "Diferencia"};
		
		DefaultTableModel dtm = new DefaultTableModel(datos , str);
		tabla.setModel(dtm);
		tabla.getColumnModel().getColumn(0).setPreferredWidth(170);
		tabla.setRowHeight(18);
		tabla.setEnabled(false);
		
		this.add(tabla, "1, 2, fill, fill");

		tabla=new JTable(datos,columnas);
		}
	}
	
	public static void main(String[]args)
	{
		try {
			Global.sisEmp=new SistemaEmpresas();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		SistemaUsuarios sU= new SistemaUsuarios();
		Global.sU=sU;
		try {
			sU.existeUsuario("evonis", "guachu9");
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		PanelRanking pR= new PanelRanking();
		pR.setVisible(true);
		JFrame ventana= new JFrame();
		ventana.setSize(500, 500);
		ventana.add(pR);
		ventana.setVisible(true);
	}

	/**
	 * Metodo que reproduce el sonido, si una vez reproducido se vuelve a llamar al metodo vuelve a reproducirse desde
	 * el comienzo
	 */
	public  void sonarCancion() {


		//Guarda el path correspondiente dependiendo del pais del piloto
		String filename = "data/sonidoRanking.mp3"; 

		// nueva instancia de la clase MP3 

		

		Global.mp3 = new MP3(filename);  
		Global.mp3.play();



	} 
	/**
	 * Metodo que reproduce el sonido, si una vez reproducido se vuelve a llamar al metodo vuelve a reproducirse desde
	 * el comienzo
	 */
	public void apagarCancion() {
	
		// nueva instancia de la clase MP3 
		if (Global.mp3 != null) {
			Global.mp3.close();			
		}


	} 
}
